延續DAY05,我們已經開好一個專案了,對於目錄也有一些認識了,今天就可以來寫點程式了
DAY04已經開了一個專案(firstproject),檔案還在的就直接使用。
如果你是新來的、或是把檔案玩壞了XDD,我們再來開一個新的專案。
新增專案指令
composer create-project --prefer-dist laravel/laravel firstproject
先進到專案底下,輸入以下指令按enter開啟serve,再去瀏覽器網址列輸入 http://127.0.0.1:8000 ,確認專案可以正常執行。
php artisan serve
今天先來介紹Route,一般接收到的請求都會先進到Route去,根據接收到的url,給予對應的route回應。
先把專案的code開起來,選到routes的資料夾,裡面會看到四個檔案,簡單介紹一下這幾個檔案。
api.php //包含RouteServiceProvider放置在api中間件組中的路由。
channels.php //註冊應用程式支持的所有事件廣播的地方。
console.php //定義php artisan的指令。
web.php //大多數的應用,都是以web.php文件定義路由開始的。
Route::get('/', function () {
return view('welcome');
});
get是什麼呢?他是http method一般定義了八種方法,一般常用的有GET、POST、PUT、DELETE這四種方法。
一個基本的路由只需要兩個參數,第一個是url、第二個是閉包,下面的第一個參數是一個/,我們稱為根目錄。
第二個是閉包,裡面看到了一行程式碼又是什麼意思呢?
這邊會回傳一個view的檔案,檔案名稱叫做welcome,接著可以到專案目錄找到resources資料夾底下的view的資料夾,看看是不是有個叫做welcome的檔案。
現在可以把裡面那一行程式碼改掉,改成下面程式碼,看看網頁會跑出什麼來,結果網頁上面跑出hello wolrd的字樣,代表請求會進到這裡來。
Route::get('/', function () {
return 'hello world';
});
那如果我們想抓到網址上面的路由參數,又該怎麼寫呢?
在laravel中會把參數包在{}大括號中,我們把參數命名為id,接著在第二個參數傳入$id這個變數,這邊會回傳網址列上輸入的id
。
網址我們打上http://127.0.0.1:8000/user/1 看看回傳是不是user_id:1,如果是就代表可以抓到1這個參數囉
Route::get('/user/{id}',function($id){
return 'user_id:'.$id;
});
這邊僅介紹後續專案裡面會用到的方法,詳細的用法可以參考官網